package com.southminority.ethnic.pojo;

import com.baomidou.mybatisplus.annotation.*;
import com.southminority.ethnic.column.ExcelColumn;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 团队成员实体类
 * 对应数据库表：member
 * 
 * @author SouthMinority
 */
@Data
@TableName("`member`")
public class Member implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 成员ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ExcelColumn(name = "成员ID", columnWidth = 10, value = "1", hidden = true)
    private Long id;

    /**
     * 姓名
     */
    @TableField("name")
    @ExcelColumn(name = "姓名", columnWidth = 15, nonNull = true, value = "张三")
    private String name;

    /**
     * 职位
     */
    @TableField("position")
    @ExcelColumn(name = "职位", columnWidth = 15, value = "讲师")
    private String position;

    /**
     * 职称
     */
    @TableField("title")
    @ExcelColumn(name = "职称", columnWidth = 15, value = "副教授")
    private String title;

    /**
     * 部门
     */
    @TableField("department")
    @ExcelColumn(name = "部门", columnWidth = 20, value = "文学院")
    private String department;

    /**
     * 归属机构ID
     */
    @TableField("organization_id")
    @ExcelColumn(name = "机构ID", columnWidth = 15, value = "1")
    private Long organizationId;

    /**
     * 研究方向
     */
    @TableField("research_direction")
    @ExcelColumn(name = "研究方向", columnWidth = 30, value = "民族语言学")
    private String researchDirection;

    /**
     * 个人简介
     */
    @TableField("introduction")
    @ExcelColumn(name = "个人简介", columnWidth = 40, value = "简介示例")
    private String introduction;

    /**
     * 头像
     */
    @TableField("avatar")
    @ExcelColumn(name = "头像URL", columnWidth = 40, value = "https://example.com/avatar.png")
    private String avatar;

    /**
     * 邮箱
     */
    @TableField("email")
    @ExcelColumn(name = "邮箱", columnWidth = 25, value = "test@example.com")
    private String email;

    /**
     * 电话
     */
    @TableField("phone")
    @ExcelColumn(name = "电话", columnWidth = 18, value = "13800000000")
    private String phone;

    /**
     * 社交链接（JSON格式）
     */
    @TableField("social_links")
    @ExcelColumn(name = "社交链接(JSON)", columnWidth = 40, value = "[{'type':'github','url':'https://github.com/x'}]")
    private String socialLinks;

    /**
     * 个人网站
     */
    @TableField("website")
    @ExcelColumn(name = "个人网站", columnWidth = 30, value = "https://example.com")
    private String website;

    /**
     * 学者档案链接
     */
    @TableField("scholar_profile")
    @ExcelColumn(name = "学者档案", columnWidth = 30, value = "https://scholar.example.com/u/1")
    private String scholarProfile;

    /**
     * 排序
     */
    @TableField("sort_order")
    @ExcelColumn(name = "排序", columnWidth = 10, value = "0", hidden = true)
    private Integer sortOrder;

    /**
     * 状态：1-启用，0-禁用，-1-已删除
     */
    @TableField("status")
    @ExcelColumn(name = "状态(1启用/0禁用)", columnWidth = 15, value = "1", hidden = true)
    private Integer status;

    /**
     * 创建时间
     */
    @TableField("create_time")
    @ExcelColumn(name = "创建时间", columnWidth = 25, hidden = true)
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    @ExcelColumn(name = "更新时间", columnWidth = 25, hidden = true)
    private LocalDateTime updateTime;
} 
